/**
*  \file fortune.c
*
*  \brief
*
*  \author   <@linde-mh.de>
*
*
*/

/*===============================================[ private includes  ]================================================*/
#define FORTUNE_LINKAGE
#include "fortune.h"
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
/*===============================================[ private defines   ]================================================*/

/*===============================================[ private datatypes ]================================================*/

/*===============================================[ private variables ]================================================*/

/*===============================================[ public variables  ]================================================*/

/*===============================================[ private functions ]================================================*/
static U32 fortune_count_cookies( const CH *cookies,const CH delimiter );
static void fortune_print(const CH *cookies,const CH delimiter, S16 count );
/*====================================================================================================================*/

/**
*  Initialization.
*
*  Initialize the fortune module.
*
*  \return RC_SUCCESS if successful.
*/
RC fortune( const CH *cookies )
{
	S16 count;

	count=fortune_count_cookies(cookies,'%');

	srand ( time(0));
	count= rand()%count;

	fortune_print( cookies,'%',count );


	return RC_SUCCESS;
}

static void fortune_print(const CH *cookies,const CH delimiter, S16 count )
{
	const CH *p;
	p=cookies;

	while(*p)
	{
		if(*p==delimiter)
		{
			p++;
			count--;
			if(0==count)
			{
				while(*p && (*p!=delimiter))
				{
					printf("%c",*p);
					p++;
				}
				return ;
			}
		}
		p++;
	}
}


static U32 fortune_count_cookies( const CH *cookies,const CH delimiter )
{
	const CH *p;
	U32 count=0;
	p=cookies;

	while(*p)
	{
		if(*p==delimiter)
		{
			count++;
		}
		p++;
	}
	return count;
}
/***********************************************************************************************************************
*                             Copyright 2010 Linde Material Handling. All rights reserved.                             *
***********************************************************************************************************************/
